Asynchronous transfer mode (ATM) technology was recently developed to realize an efficient information transport through a communications network. The popularity of an ATM transport stems from the fact that no resource specialization is needed in an ATM network. All network resources are efficiently shared by different services. Moreover, the ATM network can generally accommodate such services irrespective of the service characteristics such as their bit rates, quality requirements or data burstiness.
The ATM transport is cell based. Information to be transmitted through the network is packaged in units of cells each comprising a header and an information field. The cell header affords a limited number of functions, which is conducive to fast cell processing by ATM switches in the network. One of these functions involves identification of a virtual connection between ATM switches or between a switch and a terminal, through which the cell is transported. In a well known manner, the virtual connection is identified by a virtual path identifier (VPI) field and a virtual channel identifier (VCI) field in the cell header. In particular, the VPI field identifies a statically allocatable link of the virtual connection, and the VCI field identifies a dynamically allocatable channel thereof within such a link.
One of the major advantages of the ATM transport is allowing interleaving of ATM cells from different sources (or senders) on each link, thereby efficiently utilizing the network bandwidth. Cell interleaving is realizable when cells from each source are assigned a respective VPI/VCI combined value corresponding to a particular virtual connection, through which the cells are transported.
In a prior art ATM network, an ATM switch operates in either the virtual path (VP) switching mode or virtual channel (VC) switching mode. In the VP switching mode, an ATM switch only switches on the VPI field of an incoming cell. That is, the ATM switch translates only the VPI value of the incoming cell, without regard to the VCI value. The translated VPI value identifies a different link to which the cell is switched. On the other hand, in the VC switching mode, an ATM switch switches on both the VPI and VCI fields of an incoming cell. The translated VPI and VCI values identify a different link and channel, respectively, to which the cell is switched.
The VP switching mode is preferred to the VC switching mode because, among other reasons, the former affords a higher switching speed than the latter. However, in a multicast connection, i.e., a multipoint-to-point or multipoint-to-multipoint connection, an ATM switch operating in a VP switching mode may cause a "VCI collision" when the switch merges traffic on two or more incoming links into an outgoing link. Such a switch is referred to as a "Merge Point." A VCI collision occurs when in a particular multicast connection, cells from different sources on two or more incoming links coincidentally bearing the same VCI value (but different VPI values) are VP switched and merged into the same outgoing link. That is, the ATM switch translates the respective VPI values of the incoming cells to the same VPI value corresponding to that outgoing link. As a result, albeit from different sources, these cells after the VP merging are interleaved and bear the same VPI and VCI values indicating the same source. Consequently, receivers at the other end of the network fail to properly reassemble the cells from the respective sources, which is unacceptable.
In prior art, to prevent VCI collisions in a multicast connection, ATM cell interleaving is restricted or even prohibited. For example, a token passing scheme has been applied to prevent multiple senders from sending data through the network at the same time. Such a scheme is described in: E. Gauthier et al., "SMART: A Many-to-Many Multicast Protocol for ATM," ATM Forum draft 96-1295, 1996. In accordance with this scheme, a sender in possession of the token is allowed to send information in multiples of packets (not cells) at a time. As such, the ATM cells representing the packets are transmitted contiguously to one another, thereby avoiding interleaving with cells from other senders. However, the above scheme is not desirable in that, among other things, the requirement that each sender wait for its turn to transmit packets may compromise individual performances such as the respective delay requirements.
In another prior art approach called the VC-Merge approach, each merge point is required to buffer ATM cells for the same multicast connection representative of respective packets from different senders, and a switch scheduler is used to ensure that no interleaving of the cells from different senders is allowed on the same outgoing link. To that end, an end-of-packet bit (EOP-bit) is used in a packet to indicate its end. Upon detection of such a bit, the ensemble of the buffered cells representative of that packet is scheduled to be released from the merge point onto the outgoing link. Thus, in this instance, the merge point in effect performs interleaving of packets from different senders, as opposed to cell interleaving for which the ATM transport is advantageous. For details on the implementation of the VC-Merge approach, one may refer to: M. Grossglauser et al., "SEAM: A Scheme for Scalable and Efficient ATM Multipoint-to-Multipoint Communication," ATM Forum draft 96-1142, 1996. It is apparent that this approach undesirably requires a large number of buffers at a merge point, which varies with the number of senders. Concomitant to the extensive buffer requirement is low data throughput afforded by the VC-Merge approach. Moreover, the packet interleaving is relatively inefficient in bandwidth utilization, with respect to cell interleaving.
Accordingly, there exists a need for a methodology for efficiently transporting information through an ATM network in a multicast connection. Such a methodology must be conducive to effective utilization of the network bandwidth, provision of high data throughput, and avoidance of long transmission delays.